Film transport apparatus controller and related methods

ABSTRACT

Methods and systems are presented for controlling a film transport apparatus of a film reel scanner. In one embodiment, a system is provided including a line scanning camera, a supply reel motor, a take-up reel motor, and a plurality of capstan motors. A control system may then be configured to receive and dynamically adjust position information from these motors. The control system may then provide the dynamically adjusted position information to a plurality of controllers, which may then generate control signals for the supply reel motor, the take-up reel motor, and the at least a subset of the capstan motors.

PRIORITY INFORMATION

The present application claims priority to U.S. Provisional ApplicationNo. 62/652,117, filed Apr. 3, 2018, and to U.S. patent application Ser.No. 16/374,411, filed Apr. 3, 2019, the entire contents of which areincorporated herein by reference and relied upon.

BACKGROUND

Film reel scanners are used to scan and digitize reels of film (e.g.,reels containing images of documents) for imaging and archivingpurposes. Film to be scanned is stored on reels, which are connected tothe scanner. The scanner is configured to control the movement of thefilm through the scanner in order to accurately scan the film.

SUMMARY

The present disclosure presents new and innovative systems and methodsfor controlling a film transport apparatus. In one embodiment, a systemis provided comprising a line scanning camera configured to captureimages of film located in a scanning area, a supply reel motor thatrotates a supply reel to supply film from the supply reel for scanningby the line scanning camera, a take-up reel motor that rotates a take-upreel to collect film on the take-up reel after scanning by the linescanning camera, and a plurality of capstan motors that rotate aplurality of capstans to direct the film from the supply reel, acrossthe scanning area, and to the take-up reel. The system may also includea control system configured to receive position information from thesupply reel motor, the take-up reel motor, and at least a subset of theplurality of capstan motors, dynamically adjust the position informationby adding or subtracting adjustment information to the positioninformation, provide the dynamically adjusted position information to aplurality of controllers, and generate control signals for the supplyreel motor, the take-up reel motor, and the at least a subset of theplurality of capstan motors with the controllers.

In another embodiment, the control system is further configured todynamically adjust the position information received from the subset ofthe plurality of capstan motors according to offset information.

In a further embodiment, the control system is configured to scan atarget film with the line scanning camera, receive, from each of thesubset of the plurality of capstan motors, a plurality of rotationalposition measurements at a plurality of times during the scan of thetarget film, and detect an inconsistency in the scan of the target film.The control system may also be configured to calculate an offset factorfor an associated rotational position of at least one of the subset ofthe plurality of capstan motors based on (i) a measurement of theinconsistency and (ii) rotational position measurements associated witha time at which the inconsistency was scanned by the line scanningcamera and add the offset factor to the offset information.

In yet another embodiment, the target film includes markings of a fixedthickness and/or a fixed distance apart and the inconsistency is adifference in thickness or distance apart for one or more of themarkings.

In a still further embodiment, the control system is further configuredto dynamically adjust position information from the supply reel motorbased on a supply radius of the supply reel and dynamically adjustposition information from the take-up reel motor based on a take-upradius of the take-up reel.

In another embodiment, the control system is further configured toreceive (i) a supply rotation rate of the supply reel and (ii) a supplyfilm speed across a first capstan of the plurality of capstans locatedclosest to the supply reel, calculate the supply radius based on thesupply rotation rate and the supply film speed, receive (i) a take-uprotation rate of the take-up reel and (ii) a take-up film speed across asecond capstan of the plurality of capstans located closest to thetake-up reel, and calculate the take-up radius based on the take-uprotation rate and the take-up film speed.

In a further embodiment, the control system is further configured tocalculate the supply radius by dividing the supply film speed by thesupply rotation rate and calculate the take-up radius by dividing thetake-up film speed by the take-up rotation rate.

In yet another embodiment, the system further comprises a capstan motorprofile generator used by at least one controller to generate controlsignals for a plurality of capstan motors.

In a still further embodiment, the control system is further configuredto receive position information from each of the plurality of capstanmotors.

In another embodiment, the control system is further configured togenerate control signals for each of the plurality of capstan motors.

In a further embodiment, the position information includes one or moreof: rotational speed measurements, rotational position measurements, andfilm speed measurements.

In yet another embodiment, (i) the position information from the supplyreel motor and take-up reel motor include rotational speed measurementsand (ii) the position information from the subset of the plurality ofcapstan motors include film speed measurements of the film across thesubset of the plurality of capstan motors.

In a still further embodiment, the system further comprises a time offlight sensor configured to measure a height of a film loop in thesystem. The control system may also be further configured to dynamicallyadjust the position information from a capstan motor adjacent to thefilm loop based on the height of the film loop.

In another embodiment, a method is provided comprising receivingposition information from a supply reel motor, a take-up reel motor, andat least a subset of a plurality of capstan motors, dynamicallyadjusting the position information by adding or subtracting adjustmentinformation to the position information, providing the dynamicallyadjusted position information to a plurality of controllers, andgenerating control signals for the supply reel motor, the take-up reelmotor, and the at least a subset of the plurality of capstan motors withthe controllers.

In a further embodiment, the method further comprises scanning a targetfilm with a line scanning camera, receiving, from each of a subset ofthe plurality of capstan motors, a plurality of rotational positionmeasurements at a plurality of times during the scan of the target film,and detecting an inconsistency in the scan of the target film. Themethod may also comprise calculating an offset factor for an associatedrotational position of at least one of the subset of the plurality ofcapstan motors based on (i) a measurement of the inconsistency and (ii)rotational position measurements associated with a time at which theinconsistency was scanned by the line scanning camera and adding theoffset factor to offset information.

In yet another embodiment, the method further comprises dynamicallyadjusting position information from the supply reel motor based on asupply radius of the supply reel and dynamically adjusting positioninformation from the take-up reel motor based on a take-up radius of thetake-up reel.

In a still further embodiment, the method further comprises receiving(i) a supply rotation rate of the supply reel and (ii) a supply filmspeed across a first capstan of the plurality of capstans locatedclosest to the supply reel, calculating the supply radius based on thesupply rotation rate and the supply film speed, receiving (i) a take-uprotation rate of the take-up reel and (ii) a take-up film speed across asecond capstan of the plurality of capstans located closest to thetake-up reel, and calculating the take-up radius based on the take-uprotation rate and the take-up film speed.

In another embodiment, at least one of the controllers is configured togenerate control signals for a plurality of capstan motors based on asingle capstan motor profile generator.

In a further embodiment, the method further comprises receiving, from atime of flight sensor, a height measurement of a film loop anddynamically adjusting the operations sensor readings from a capstanmotor adjacent to the film loop based on the height measurement.

The features and advantages described herein are not all-inclusive and,in particular, many additional features and advantages will be apparentto one of ordinary skill in the art in view of the figures anddescription. Moreover, it should be noted that the language used in thespecification has been principally selected for readability andinstructional purposes, and not to limit the scope of the inventivesubject matter.

BRIEF DESCRIPTION OF THE FIGURES

FIGS. 1A and 1B illustrate film reel scanners according to exemplaryembodiments of the present disclosure.

FIG. 2A illustrates a controller configuration according to an exemplaryembodiment of the present disclosure.

FIG. 2B illustrates a controller according to an exemplary embodiment ofthe present disclosure.

FIG. 2C illustrates a system according to an exemplary embodiment of thepresent disclosure.

FIGS. 2D and 2E illustrate exemplary controller configurations accordingto exemplary embodiments of the present disclosure.

FIGS. 3A-3C illustrate target film according to an exemplary embodimentof the present disclosure.

FIG. 4 illustrates a method according to an exemplary embodiment of thepresent disclosure.

FIG. 5 illustrates a method according to an exemplary embodiment of thepresent disclosure.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

In order to accurately scan the film from the reel, the film reelscanner must accurately control the rate at which film passes throughthe scanner in order to meet certain data processing speed requirements,film tension requirements, and to reduce vibrations and other sources ofinterference that can negatively affect scanning accuracy.

FIG. 1A depicts a film reel scanner 100 according to an exemplaryembodiment of the present disclosure. The film reel scanner 100 isconfigured to scan film 118 provided from a supply reel 104. The film118 proceeds from the supply reel 104 between across the capstans 106A-Bto a scanning area framed by roll bars 108A-B for scanning by the camera112. The camera 112 may be a line image scanning camera configured toscan successive, single pixel-height lines of the film 118 as the film118 moves across the scanning area. The camera 112 may capture colorand/or black and white scans of the film 118. The film 118 then proceedsacross the capstans 106C-D to the take-up reel 114, where the film iswound around the take-up reel 114 for storage and future archiving. Thefilm 118 may be held against the capstans 106A-D by corresponding pinchrollers 110A-D. The capstans 106A-D may be actively controlled bycapstan motors, while the pinch rollers 110A-D may roll passively basedon the movement of the film between the capstans 106A-D and the pinchrollers 110A-D

The film reel scanner 100 requires multiple controls to ensuresufficient scanning quality of the film 118. The supply reel 104includes a supply reel motor 102 that controls the rate at which film118 is fed from the supply reel 104 into the capstan 106A. Similarly,the take-up reel 114 includes a take-up reel motor 116 that controls therate at which film 118 is received from the capstan 106D. Both motors102, 116 may generally have to be balanced in order to keep a constantflow of film 118 through the scanner 100. Additionally, each capstan106A-D may be controlled to balance the progression of film 118 throughthe film reel scanner 100. For example, each capstan 106A-D may includea corresponding capstan motor configured to control the rotation of thecapstan 106A-D such that the film 118 progresses at the same ratethrough the scanner 100. Similarly, the capstans 106A-D may beconfigured to form film loops 120A-B. The film loops 120A-B may absorbvibrations within the scanner 100 and reduce non-linear movement of thefilm 118 in the scanning area between the scrollbars 108 A-B. The motors102, 116 and the capstans 106A-D may also be configured to maintain oneor more tension requirements of the film 118. For example, the film 118may require a minimum amount of tension within the scanner 100 in orderto consistently and accurately move across the scanning area forscanning the camera 112 and to properly unspool film 118 from the supplyreel 104 and to re-spool film 118 onto the take-up reel 114. However,the film 118 may also need to be kept below a maximum amount of tensionin order to avoid tearing, warping, or other damage.

FIG. 1B depicts a second embodiment of the film reel scanner 150. Inaddition to the components described above in connection with the filmreel scanner 100, the film reel scanner 150 includes idle rollers134A-B, time of flight sensors 131A-B, a light source 135, lenses 136A-B, mirrors 137A-B, and capstan motors 133A-B, which are configured todrive the capstans 106 A, D. The capstans 106A-D are also positioneddifferently, with the capstans 106A, D cooperating with the isle rollers134A-B to generate the film loops 120A-B, and the capstans B, Cpositioned closer to the scanning area and the roll bars 108A-B. Incertain implementations, the time of flight sensors 131A-B may beconfigured to cooperate with the capstans 106A-D to measure and maintainthe size of the film loops 120A-B. Additionally, the mirrors 137A-B andthe lenses 136A-B may be configured to redirect light from the lightsource 135 towards the cameras 112A-B for scanning purposes. In certainimplementations, the light source 135 may be a strobing light source,such as a strobing LED.

Although FIGS. 1A and 1B depict specific configurations for the filmreel scanner 100, 150, the methods and configurations described hereinmay also be used with other film reel scanner implementations. Forexample, alternative film reel scanners may include additionalcomponents and/or may exclude one or more components depicted in thesystem 100. In another example, one or more components of the system 100may be rearranged or altered.

Film reel scanners typically rely on a controller to generate controlsignals for the motors (e.g., the reel motors 102, 116 and the capstanmotors 133A-B). The controller in turn generally relies on profilegenerators. Typically, the controller has a separate profile generatorfor each moving controlled component. For example, in a typicalimplementation, the supply reel motor 102 and the take-up reel motor 116may have separate profile generators to control the movement of thesupply reel 104, the take-up reel 114, and each of the capstans 106A-D.Such implementations can drastically increase the complexity of thecontrol system design. For example, each profile generator requires itsown signal inputs, which may come from multiple locations within thescanner 100. Additionally, the extra profile generators increase thecost of the system 100.

Further, in order to meet certain tension requirements, conventionalsystems typically rely on either current-based or mechanical-basedsolutions to control the tension of film 118 being removed from thesupply reel 104 and spooled onto the take-up reel 114. For example, thesupply reel motor 102 and the take-up reel motor 116 may allow fortorque control by varying the current provided to the motors 102, 116.Such solutions may be referred to as “static drag” control. However, ifthe film 118 were to break, such a control system would cause the reels104, 114 to accelerate and spin out of control. Mechanical solutions,such as stationary rollers between the capstans 106A, 106D and the reels104, 114 increase the number of components and complexity within thesystem, and create additional risks for mechanical failure.Additionally, such mechanical solutions are generally still susceptibleto rapid acceleration if the film 118 breaks.

One solution to the above-identified problems is to provide a singlecontroller for controlling multiple components within the scanner 100.For example, a single controller may be used to control the reels 104,114 and one or more of the capstans 106A-D. The controller may beconfigured to produce a moving drag control loop that provides aconstant drag force in either or both of a forward and reverse directionfor a rotating object, such as the reels 104, 114 and the capstans106A-D. The controller may also be configured to account for changingradii of the supply reel 104 and the take-up reel 114 as the film 118 isrespectively removed from and added to the reels 104, 114. Further, thecontroller may be configured to account for one or more imperfections ofthe capstans 106A-D.

FIG. 2A depicts an exemplary controller configuration according to anexemplary embodiment of the present disclosure. The controllerconfiguration 200 includes a proportional-integral-derivative (PID)controller 202. The supply reel motor 102, the take-up reel motor 116,and the capstans 106A-D (e.g., the capstan motors 133A-B) are connectedto both the input and the output of the PID controller 202. For example,the supply reel motor 102, the take-up reel motor 116, and the capstans106A-D may each be connected to one or more of the proportional input,the integral input, and the derivative input of the PID controller 202.Similarly, the supply reel motor 102, the take-up reel motor 116, andthe capstans 106A-D may receive control signals from the output of thePID controller 202. As discussed above, the control signals may causethe supply reel motor 102, the take-up reel motor 116, and the capstans106A-D to rotate such that the film 118 moves through the scanner 100according to desired performance requirements (e.g., speed requirements,vibration-reduction requirements, and tension requirements).

FIG. 2B depicts the controller 202 according to an exemplary embodimentof the present disclosure. In particular, FIG. 2B depicts an internalconnection scheme of the controller 202, such as an internal connectionscheme to generate output signals based on input signals received fromthe supply reel motor 102, the take-up reel motor 116, and the capstans106A-D. In the depicted configuration, the input signals may be receivedas an encoder position 267. For example, the supply reel motor 102,take-up reel motor 116, and capstan motors 133A-B may include an encoderthat encodes the current position of the motors 102, 116, 133A-B as oneof a plurality of counts (e.g., 120,000 counts). In suchimplementations, the input signal may be received from the motors 102,116, 133A-B as a count from the encoder of each motor at the encoderposition 267. The controller 202 may be connected such that the outputsignal 278 is then directed to the motor. The specific configurationdepicted in FIG. 2B may be an internal connection scheme for oneinput/output signal pairing. Accordingly, the depicted connection schememay be similarly repeated for each motor 102, 116, 133A-B.

The controller 202 receives the encoder position 267 from the motor 102,116, 133A-B at the dynamic resolution adjuster 252. The dynamicresolution adjuster 252 may be configured to convert a count receivedfrom the encoder of the motor 102, 116, 133A-B into a current positionof the motor 102, 116, 133A-B. In implementations where the encoderposition 267 is received from a capstan motor 133A-B, the dynamicresolution adjuster 252 may be configured to dynamically adjust theencoder position 267 to account for inconsistencies in the surface ofcapstan 106A-D, as described further below. In implementations where theencoder position 267 is received from a reel motor 102, 116, the dynamicresolution adjuster may be configured to dynamically adjust the encoderposition 267 to account for a changing radius of the associated reels102, 114. Additionally, the dynamic resolution adjuster 252 may receivefeedback reflecting current tension in the film 118 and may dynamicallyadjust the encoder position 267 to account for the current tension. Inparticular, as depicted, the dynamic resolution adjuster 252 may receivethis input from the output of the integration limit 270.

The output of the dynamic resolution adjuster 252 may then be subtractedfrom the profile position 265 at the summing point 269 to calculate adelta position of the motor 102, 116, 133A-B. The profile position 265may be received by a profile generator, such as a profile generator forthe reel motors 102, 116 or the capstan motors 133A-B. The deltaposition is then provided to the proportional gain 272 for subsequentsumming at the summing point 277. The delta position is also provided tothe integrator 268, which incorporates a feedback signal from theintegration limit 270 and provides the integrated delta position to theintegration limit 270. The resulting output from the integration limit270 may then reflect the tension in the film 118 and may be provided tothe dynamic resolution adjuster 252 and the integral gain 274. From theintegral gain 274, the film tension may then be provided to the summingpoint 277 for summing to form the output signal 278. The delta positionis also provided to a filter sample delay 280, which introduces a delayto the delta position. The delayed delta position is then passed to thesumming point 282, where the delta position is subtracted from thedelayed delta position and the result is passed to the differential gain276. The result is then provided to the summing point 277 for summing toform the output signal 278.

The internal configuration depicted in FIG. 2B may reduce the number ofprofile generators required. For example, by connecting the output fromthe integration limit 270, the dynamic resolution adjuster 252 canreceive internal signals from the controller 202's PID loop to determinethe internal measurements regarding the tension of the film. Suchinternal signals may help consolidate the number of profile generators,e.g., by only requiring a single profile generator to control both reelmotors 102, 116.

FIG. 2C depicts a system 203 according to an exemplary embodiment of thepresent disclosure. The system 203 includes a radius updater and the PIDcontroller 202. The PID controller 202 includes operational sensorinputs 204, control signal outputs 212, and a capstan sensor corrector234. The operational sensor inputs 204 are configured to receive asupply reel input 206 from the supply reel motor 102, a take-up reelinput 208 from the take-up reel motor 116, and one or more capstaninputs 210 from the capstans 106A-D. The operational sensor inputs 204may include one or more proportional inputs, integral inputs, andderivative inputs. The control signal outputs 212 configured to outputcontrol signals generated by the PID controller 202. For example, thePID controller may generate a supply reel control signal 214 for thesupply reel motor 102, a take-up reel control signal 216 for the take-upreel motor 116 and one or more capstan motor control signals 218 for thecapstans 106A-D and associated capstan motors 133A-B. In certainimplementations, alternative control signal generation may be possible.For example, in certain implementations, the control signal outputs 212may include additional capstan motor control signals 218, or no capstanmotor control signals 218.

The radius updater 220 may be configured to update a radius measurementof one or both of the supply reel 104 and the take-up reel 114. Forexample, the radius updater 220 may calculate a spool radius 222 of thesupply reel 104 and a take-up radius 228 of the take-up reel 114. Asfilm 118 unspools from the supply reel 104, the radius of the supplyreel 104 may decrease. Similarly, as film 118 spools onto the take-upreel 114, the radius of the take-up reel may increase. In certainimplementations, the supply reel control signal 214 in the take-up reelcontrol signal 216 may be generated to cause the supply reel 104 and thetake-up reel 114 to rotate at a designated rotational speed (e.g., aspecified number of revolutions per minute). For a given rotationalspeed, the speed of the film 118 coming off of or onto a reel 104, 114will change with changes to the radius of the reel 104, 114. Therefore,the reel control signals 214, 216 may need to be adjusted based on thechanging radius. Relatedly, the reel control signals 214, 216 may betorque-controlled (e.g., controlled to rotate with a designated level oftorque), which may cause differing levels of tension to be applied tothe film 118 as the radius of the reel 104, 114 changes. For example, asthe radius of the reel 104, 114 increases, force applied to the film 118will also increase for identical levels of torque. As another example,as the radius of the reel 104, 114 decreases, force applied to the film118 will decrease for identical levels of torque. Therefore, in order tomeet the operational requirements of the scanner 100, the reel controlsignals 214, 216 may need to be adjusted to account for the radius ofthe reels 104, 114.

In calculating the radius of the reels 104, 114, the radius updater 220may analyze signals received from the supply reel motor 102 and thetake-up reel motor 116. For example, the radius updater 220 may analyzethe supply reel input 206 and the take-up reel input 208, or a portionthereof. In particular, the radius updater 220 may analyze a supplyrotation rate 224 received from the supply reel input 206 and a take-uprotation rate 230 received from the take-up reel input 208. Signalsreceived from the capstans 106A-D, such as signals received at thecapstan inputs 210. For example, the radius updater 220 may analyze asupply film speed 226 received from the capstan 106A located closest tothe supply reel 104 and a take-up film speed 232 received from a capstan106D located closest to the take-up reel 114. The film speeds 226, 232may be determined based on a rotational speed of the capstans 106A, 106D. For example, the capstans 106A, D may have a fixed circumference towhich the capstans 106A, D are machined with a tight tolerance.Accordingly, a rotational rate of the capstans 106A, D may directlycorrespond to a known rate of speed for the film 118 across the capstan106A, 106 D. As another example, for a capstan 106A, D with a 2-inchcircumference, the film speeds 226, 232 may indicate (e.g., bymultiplying the known circumference by an angular speed of the capstan106A, 106 D. In particular, if a capstan 106A, D has a knowncircumference of 2 inches and rotates 120 times per second capstan 106A,D may indicate a film speed 226, 232 of 240 inches/second.

The radius updater 220 may calculate the radii 222, 228 based on thereceived rotation rates 224, 230 and film speeds 226, 232. For example,the radius updater 220 may calculate the supply radius 222 by dividingthe supply film speed 226 by the supply rotation rate 224 and maycalculate the take-up radius 220 by dividing the take-up film speed 232by the take-up rotation rate 230. Continuing the previous example, ifthe take-up film speed 232 indicates a speed of 240 inches/second andthe take-up rotation rate 230 indicates 360 rotations per minute (rpm)(e.g., 6 rotations per second), a circumference of the take-up reel 114may be calculated as (240 inches/second)/(6 rotations/second)=40 inches.The take-up radius 228 may then be determined as 40 inches/2π=˜6.37inches. The supply radius 222 may be similarly calculated based on thesupply rotation rate 224 and the supply film speed 226. The PIDcontroller 202 may then adjust the supply reel control signal 214 basedon the supply radius 222 and may adjust the take-up reel control signal216 based on the take-up radius 228. For example, if specific tensionrequirements are desired within the film 118, the PID controller 202 mayadjust the reel control signals 214, 216 based on the determined radii222, 228. In particular, the PID controller 202 may divide a desiredfilm tension at the supply reel 104 by the supply radius 222 todetermine a tension signal for inclusion within the supply reel controlsignal 214 to provide accurate torque-controlled tension from the supplyreel motor 102. The PID controller 202 may similarly adjust the take-upreel control signal 216 for desired tension requirements at the take-upreel 114.

The radius updater 220 may be configured to update the supply radius 222and the take-up radius 228 at regular intervals. For example, the radiusupdater 220 may update the radii 222, 228 based on a number of rotationsof the corresponding reel 102, 114 (e.g., once every rotation or every10 rotations or every ¼ of a rotation) and/or may update the radii 222,228 at regular time intervals (e.g., once every second, every 10seconds, every minute).

The CPU 229 and the memory 231 may implement one or more aspects of theradius updater 220. For example, the memory 231 may store instructionswhich, when executed by the CPU 229 may perform one or more of theabove-described operational features of the radius updater 220.

The capstan sensor corrector 234 may be configured to calculate offsetinformation 236 for one or more of the capstans 106A-D. The capstansensor corrector 234 may then use the offset information 236 to adjustcapstan inputs 210 and determine an adjusted capstan input 250. Forexample, if the capstan sensor corrector 234 determines offsetinformation 236 for the capstan 106A, the capstan sensor corrector 234may apply corresponding offset information 236 for capstan inputs 210received from the capstan 106A.

As depicted, the offset information 236 stores a plurality of offsetfactors 240, 244, 248 for corresponding capstan positions 238, 242, 246.For example, the capstan positions 238, 242, 246 may correspond to oneor more rotational positions of the capstan 106A-D. Certain capstanpositions 230, 242, 246 may correspond to imperfections on the capstan'ssurface, which may cause a differing amount of film to proceed throughthe scanner 100. The capstan sensor corrector 234 may store offsetfactors 240, 244, 248 for such capstan positions 238, 242, 246 in orderto adjust the capstan motor control signal 218. For example, if aparticular capstan position 238 of the capstan 106A corresponds to animperfection causing extra film 118 to proceed through the scanner 100,the corresponding offset factor 240 may scale control signals 218 forthat the capstan 106A-D rotates slower, keeping the speed of the film118 constant over a complete rotation of the capstan 106A. In certainimplementations, the offset information 236 may be stored as a lookuptable for each capstan position 238, 242, 246 of the capstan 106A-D. Incertain implementations, each rotational capstan position 238, 242, 246may correspond to an individual encoder count of an encoder attached tothe motors controlling the capstans 106A-D. For example, the encoder mayinclude 120,000 counts per revolution. In such implementations, offsetfactors 240, 244, 248 may be stored for each count of the encoder in alookup table. Applying the offset factor to each rotational capstanposition 238, 242, 246 may translate the capstan position 238, 242, 246to an actual, corrected position of the contact position of thecorresponding capstan 106A-D.

In certain implementations, the offset information 236 may be generatedby a computer system, such as by a CPU and a memory within a computersystem. In such implementations, the offset information 236 may begenerated by the computer system and then provided to the capstan sensorcorrector 234 of the PID controller 202. For example, the offsetinformation 236 may be stored as a lookup table stored on an FPGAimplementing or connected to the PID controller.

FIGS. 2D and 2E depict exemplary controller configurations 260A-Eaccording to exemplary embodiments of the present disclosure. Thecontroller configurations 260A-E depict exemplary configurations forconnecting controllers 202 to additional system components to generateand provide control signals to motors 102, 116. For example, thecontroller configurations 260A-E may enhance the internal configurationdepicted in FIG. 2B.

In configuration 260A, two controllers 202 connect to a capstan motorprofile generator 254 (e.g., at the profile position input 265). Thecontrollers 202 also receive position inputs from the dynamic resolutionadjuster 252 and provide adjustment information to the dynamicresolution adjuster 252, such as information regarding the film tensionfrom the integration limit 270. For the capstan motors 133A-B, thedynamic resolution adjuster 252 may also adjust the capstan encoderposition based on offset information 236 from the capstan sensorcorrector 234. The dynamic resolution adjuster 252 may receive encoderposition information from the encoders of the capstan motors 133A-B and,based on the adjustment information from the controller 202, maygenerate an adjusted position for use by the controllers 202. Based onthe position information from the dynamic resolution adjuster 252 andthe profile position from the capstan motor profile generator 254, thecontrollers 202 then generate the output signals 278, which are providedto the respective capstan motors 133A-B.

The configurations 260B, C depict similar configurations for controllers202, but to control the film spool motors 102, 116. In particular, thecontrollers 202 are similarly connected to the dynamic resolutionadjuster 252, but each film spool motor 102, 116 has its owncorresponding film spool motor profile generator 256, 257. In addition,for the film spool motors 102, 116, the dynamic resolution adjuster 252may account for changes in the radius of the supply and take-up reels102, 114 using the radius updater 220. The separate film spool motorprofile generators 256, 257 may be necessary because the supply reel 102and take-up reel 114 both have changing radii to be separately accountedfor.

The configurations 260D, E depict another capstan control configurationfor the controller 202. Similar to the configuration 260A, theconfigurations 260D, E include controllers 202 connected to the dynamicresolution adjuster 252 and the capstan motors 133A-B. However, eachcapstan motor 133A-B has its own corresponding film loop capstan motorprofile generator 258, 259. Also, the dynamic resolution adjuster 252receives adjustment information from a time of flight sensor 131A-B.Based on the position information received from the dynamic resolutionadjuster 252 and derived from the time of flight sensor 131A-Badjustment information, the controllers 202 may generate output signalsfor the capstan motors 133A-B such that the height of the film loops120A-B is held constant. Because the height of each film loop 120A-B canchange independently, separate film loop capstan motor profilegenerators 258, 259 may be necessary. In certain implementations,configuration 260A may be used to control the capstans 1106B, C nearestthe scanning area, while configurations 260D, E may be used to controlthe capstans 106A, D nearest the reels 104, 114.

FIGS. 3A and 3B depict target film 300 according to an exemplaryembodiment of the present disclosure. The target film 300 may be used todetect one or more inconsistencies in the surface of the capstans106A-D. For example, the target film 300 may be scanned by the scanner100 in order to detect inconsistencies of the capstans 106A-D bycomparing a length of target film 300 scanned with a length of targetfilm 300 determined from capstan 106A-D sensor readings. The target film300 includes a plurality of features 302, which may be used by thecapstan sensor corrector 234 to detect the length of target film 300scanned by the scanner 100. For example, the features 302 may be linesas depicted that span the width of the target film 300. As depicted inFIG. 3B, the features 302 may have a specific distance d and thickness tthat may be used to determine the length of target film 300 scanned. Forexample, the length of target film 300 may be determined by counting thenumber of features 302 that have been scanned and by multiplying thecounted number of features 302 by the distance d and the thickness t toarrive at a total length of target film 300 scanned.

Although the features 302 depicted in FIGS. 3A and 3B are lines, otherfeature geometries are possible. For example, the features 302 mayinclude shapes or patterns with known dimensions. FIG. 3C depicts anexample target film 310 with such alternative patterns. The target film310 includes horizontal alignment rulings 312, capstan calibrationrulings 314, corner alignment features 316, and a camera alignment grid318. The capstan calibration rulings 314 include multiple features,including lines of varying thicknesses. The pattern of these lines maybe useful in detecting inconsistencies of different sizes. Additionally,by providing features of differing sizes, inconsistencies of differentsizes can also be detected.

FIG. 4 depicts a method 400 according to an exemplary embodiment of thepresent disclosure. The method 400 may be performed to generate controlsignals for one or more of the supply reel motor 104, the take-up reelmotor 116 and/or one or more capstan motors for the capstans 106A-D. Forexample, the method may be performed by the system 203. The method 400may be implemented at least in part on a computer system. For example,the method 400 may be implemented at least in part by a set ofinstructions stored on a computer readable medium that, when executed bya processor, cause the computer system to perform at least a portion ofthe method. Although the examples below are described with reference tothe flowchart illustrated in FIG. 4, many other methods of performingthe acts associated with FIG. 4 may be used. For example, the order ofsome of the blocks may be changed, certain blocks may be combined withother blocks, one or more of the blocks may be repeated, and some of theblocks described may be optional.

The method 400 may begin with receiving one or more operational sensorreadings (block 402). For example, the PID controller 202 may receiveone or more operational sensor readings at the operational sensor inputs204. In particular, the PID controller 202 may receive one or more of asupply reel input 206, a take-up reel input 208, and a capstan input210. For each of these inputs 206, 208, 210, the PID controller 202 mayreceive rotational speed measurements, rotational position measurements,and film speed measurements. In particular, the specific type ofoperational sensor data inputs may differ for each input 206, 208, 210.For example, the supply reel input 206 and the take-up reel input 208may include rotational speed measurements, while the capstan input 210may include rotational position measurements and film speedmeasurements.

A dynamic resolution adjuster 252 may then dynamically adjust theoperational sensor readings (block 404). The dynamic resolution adjuster252 may dynamically adjust the operational sensor readings by adding orsubtracting adjustment information to the operational sensor readings.For example, when operational sensor readings are received from acapstan motor 133A, B as in configuration 260A, the dynamic resolutionadjuster 252 may add or subtract offset information 236 from the capstansensor corrector for the corresponding capstan position 238, 242, 246 ofthe capstan motor 133A, B. In other implementations, when operationalsensor readings are received from a reel motor 102, 116, the dynamicresolution adjuster 252 may add or subtract offset information based ona corresponding supply radius 222 or take-up radius 228 from the radiusupdater 220. In still further implementations, where the system 203includes time of flight sensors 131A-B and where operational sensorreadings are received from capstans alongside film loops 120A-B, thedynamic resolution adjuster 252 may add or subtract a height of acorresponding film loop as measured by the time of flight sensors 131A-B(i.e., may subtract a height of the film loop 120A as measured by thetime of flight sensor 131A from operational sensor readings from thecapstan motor 133A). Such implementations may reduce resourceconsumption and still allow for correction even when a motor 102, 116,133A-B is not moving. For example, even if a motor 102, 116, 133A-Bproviding operation sensor readings is not moving, the dynamicallyadjusted information may still show movement if correction is required,allowing the controller 202 to continue processing as below. Theweighting of the adjustment information added or subtracted to theoperational sensor readings may be changed to account for differentimplementations, installations, and use cases.

The dynamic resolution adjuster 252 may then provide the dynamicallyadjusted position information to the controllers (block 406), as shownin the configurations 260A-E. The controllers 202 may then generate thecontrol signals 214, 216, 218 as discussed above (block 408). Asdepicted above, the controller 202 may be implemented as a PIDcontroller and the integral value derived from operational signalsreceived from a motor 102, 116, 133A-B may be calculated by thecontroller 202 and provided to the dynamic resolution adjuster 252.Further, by subtracting the integral value from each motor 102, 116,133A-B, the dynamic resolution adjuster 252 may estimate a dynamic loadfor the motor, and corresponding tension on the film 118. Additionally,the delta position and a programmable offset may be provided to thedynamic resolution adjuster 252 may enable the controllers 202 togenerate control signals 214, 216, 218 that keep tension constant withinthe film 118.

FIG. 5 depicts a method 500 according to an exemplary embodiment of thepresent disclosure. The method 500 may be performed to determine offsetinformation 236 for a capstan 106A-D. For example, the capstan sensorcorrector 234 may perform the method 500 to determine the offsetinformation 236 based on a target film 300. The method 500 may beimplemented at least in part on a computer system. For example, themethod 500 may be implemented at least in part by a set of instructionsstored on a computer readable medium that, when executed by a processor,cause the computer system to perform at least a portion of the method.Although the examples below are described with reference to theflowchart illustrated in FIG. 5, many other methods of performing theacts associated with FIG. 5 may be used. For example, the order of someof the blocks may be changed, certain blocks may be combined with otherblocks, one or more of the blocks may be repeated, and some of theblocks described may be optional.

The method 500 begins with the scanner 100 scanning a target film 300,310 (block 502). For example, the target film 300 may be provided in acertain length with pre-defined features 302. The scanner 100 may scanall or part of the target film 300. In scanning the target film 300,310, the scanner 100 may determine a length of target film 300, 310scanned based on the features 302, as described above. The PIDcontroller 202 and/or the capstan sensor corrector 234 may receive theresults of scanning the target film 300, 310 (e.g., the determinedlength of target film 300, 310 scanned).

The capstan sensor corrector 234 may then receive position measurements(block 504). For example, the capstan sensor corrector 234 may receiverotational position measurements from the capstan input 210 via theoperational sensor input 204 of the PID controller 202. The rotationalposition measurements may indicate a degree of rotation of acorresponding capstan 106A-D. In certain implementations, the rotationalposition measurements may be on a per-degree basis (e.g., out of 360° ofrotation). In other implementations, the rotational positionmeasurements may be subdivided into additional or fewer segments (e.g.,10, 500, 10,000, 120,000 segments of rotation), such as a count receivedfrom an encoder of the capstan 106A-D.

The capstan sensor corrector 234 may then compare the determined lengthof scanned target film 300, 310 to the position measurements to detectone or more inconsistencies (block 506). For example, the capstan sensorcorrector 234 may detect that, for a certain rotational position ortransition between rotational positions, a set amount of target film300, 310 is expected to pass through the scanning area of the scanner100. If, instead, the capstan sensor corrector 234 determines that adifferent amount of target film 300, 310 was scanned based on thefeatures 302, the capstan sensor corrector 234 may detect aninconsistency in the scan of the target film 300, 310. For example, if 1mm of target film 300, 310 is expected to be scanned for 5° of rotationfor a capstan 106A-D and, based on the features 302, the capstan sensorcorrector 234 determines that 1.0001 millimeters of target film 300, 310is scanned during a 5° rotation at a capstan position 230, 242, 246, thecapstan sensor corrector 234 may detect inconsistency for the capstanposition 238, 242, 246. In the above example, if the capstan sensorcorrector 234 instead determines that 0.9999 millimeters of target film300 was scanned, the capstan sensor corrector 234 may also detect aninconsistency for the capstan position 238, 242, 246.

The capstan sensor corrector 234 may then calculate an offset factor240, 244, 248 for the capstan position 230, 242, 246 at which theinconsistency was detected (block 508). The offset factor 240, 244, 248may be calculated such that, when combined with an expected length ofscanned target film 300, the actual length of scanned target film 300,310 is returned. For example, the offset factor 240, 244, 248 may becalculated by dividing the actual, determined length of scanned targetfilm 300, 310 by the expected length of scanned target film 300, 310. Inthe above examples, where 1.0001 millimeters of target film 300, 310 wasscanned, the offset factor 240, 244, 248 may be calculated as 1.0001mm/1 mm=1.0001. Similarly, where 0.9999 millimeters of target film 300,310 was scanned, the offset factor 240, 244, 248 may be calculated as0.9999 mm/1 mm=0.9999 mm.

The capstan sensor corrector 234 may then add the offset factor 240,244, 248 to the offset information 236 (block 510). For example, asdepicted in FIG. 2B, the capstan sensor corrector 234 may store theoffset factor 240, 244, 248 associated with the corresponding capstanposition 230, 242, 246 within the offset information 236. In certainimplementations, the offset information 236 may be stored and accessedas a lookup table (e.g., a lookup table stored within a fieldprogrammable gate array (FPGA)). The offset information 236 may then beused to adjust capstan inputs 210 received from the associated capstan106A-D (e.g., to calculate an adjusted capstan input 250).

Although discussed in the singular, in certain implementations, thecapstan sensor corrector 234 may detect a plurality of inconsistenciesin the scan of the target film 300, 310 associated with a plurality ofcapstan positions 238, 242, 246. The capstan sensor corrector 234 maydetect the plurality of inconsistencies in calculating a plurality ofassociated offset factors using techniques similar to those discussedabove in connection with blocks 506, 508.

All of the disclosed methods and procedures described in this disclosurecan be implemented using one or more computer programs or components.These components may be provided as a series of computer instructions onany conventional computer readable medium or machine readable medium,including volatile and non-volatile memory, such as RAM, ROM, flashmemory, magnetic or optical disks, optical memory, or other storagemedia. The instructions may be provided as software or firmware, and maybe implemented in whole or in part in hardware components such as ASICs,FPGAs, DSPs, or any other similar devices. The instructions may beconfigured to be executed by one or more processors, which whenexecuting the series of computer instructions, performs or facilitatesthe performance of all or part of the disclosed methods and procedures.

It should be understood that various changes and modifications to theexamples described here will be apparent to those skilled in the art.Such changes and modifications can be made without departing from thespirit and scope of the present subject matter and without diminishingits intended advantages. It is therefore intended that such changes andmodifications be covered by the appended claims.

1. A system comprising: a line scanning camera configured to captureimages of film located in a scanning area; a supply reel motor thatrotates a supply reel to supply film from the supply reel for scanningby the line scanning camera; a take-up reel motor that rotates a take-upreel to collect film on the take-up reel after scanning by the linescanning camera; a plurality of capstan motors that rotate a pluralityof capstans to direct the film from the supply reel, across the scanningarea, and to the take-up reel; and a control system, the control systemconfigured to: receive position information from the supply reel motor,the take-up reel motor, and at least a subset of the plurality ofcapstan motors, dynamically adjust the position information by adding orsubtracting adjustment information to the position information, providethe dynamically adjusted position information to a plurality ofcontrollers, and generate, using at least one capstan motor profilegenerator and the plurality of controllers, control signals for thesupply reel motor, the take-up reel motor, and the at least a subset ofthe plurality of capstan motors.
 2. The system of claim 1, whereincontrol signals for at least two of the supply reel motor, the take-upreel motor, and the at least a subset of the plurality of capstan motorsare generated using a single capstan motor profile generator.
 3. Thesystem of claim 2, wherein at least one of the plurality of controllersincludes a dynamic resolution adjuster configured to determine internalmeasurements of a tension of the film.
 4. The system of claim 3, whereinthe at least one of the plurality of controllers includes an integrationlimit, and wherein an output of the integration limit is provided as aninput to the dynamic resolution adjuster.
 5. The system of claim 3,wherein at least two of the plurality of controllers share a singledynamic resolution adjuster and receive inputs from the single capstanmotor profile generator.
 6. The system of claim 5, wherein the at leasttwo of the plurality of controllers are configured to generate controlsignals for at least two of the plurality of capstan motors.
 7. Thesystem of claim 1, wherein the control system is further configured toreceive position information from each of the plurality of capstanmotors.
 8. The system of claim 7, wherein the control system is furtherconfigured to generate control signals for each of the plurality ofcapstan motors.
 9. The system of claim 1, wherein the positioninformation includes one or more of: rotational speed measurements,rotational position measurements, and film speed measurements.
 10. Thesystem of claim 9, wherein (i) the position information from the supplyreel motor and take-up reel motor include rotational speed measurementsand (ii) the position information from the subset of the plurality ofcapstan motors includes film speed measurements of the film across thesubset of the plurality of capstan motors.
 11. A method comprising:receiving position information from a supply reel motor, a take-up reelmotor, and at least a subset of a plurality of capstan motors;dynamically adjusting the position information by adding or subtractingadjustment information to the position information; providing thedynamically adjusted position information to a plurality of controllers;and generating, using at least one capstan motor profile generator andthe plurality of controllers, control signals for the supply reel motor,the take-up reel motor, and the at least a subset of the plurality ofcapstan motors.
 12. The method of claim 11, wherein control signals forat least two of the supply reel motor, the take-up reel motor, and theat least a subset of the plurality of capstan motors are generated usinga single capstan motor profile generator.
 13. The method of claim 12,wherein at least one of the plurality of controllers includes a dynamicresolution adjuster configured to determine internal measurements of atension of a film.
 14. The method of claim 13, wherein the at least oneof the plurality of controllers includes an integration limit, andwherein an output of the integration limit is provided as an input ofthe dynamic resolution adjuster.
 15. The method of claim 13, wherein atleast two of the plurality of controllers share a single dynamicresolution adjuster and receive inputs from the single capstan motorprofile generator.
 16. The method of claim 15, wherein the at least twoof the plurality of controllers are configured to generate controlsignals for at least two of the plurality of capstan motors.
 17. Themethod of claim 11, further comprising receiving position informationfrom each of the plurality of capstan motors.
 18. The method of claim17, further comprising generating control signals for each of theplurality of capstan motors.
 19. The method of claim 11, wherein theposition information includes one or more of: rotational speedmeasurements, rotational position measurements, and film speedmeasurements.
 20. The method of claim 19, wherein (i) the positioninformation from the supply reel motor and take-up reel motor includerotational speed measurements and (ii) the position information from thesubset of the plurality of capstan motors includes film speedmeasurements of the film across the subset of the plurality of capstanmotors.